package com.haixiaoke.saas.bill.service;

import java.util.List;
import com.haixiaoke.saas.bill.domain.HouseBillItemMerge;

/**
 * 入住账单收费项目Service接口
 *
 * @author qixi
 * @date 2024-05-30
 */
public interface IHouseBillItemMergeService {
    /**
     * 查询入住账单收费项目
     *
     * @param mergeId 入住账单收费项目主键
     * @return 入住账单收费项目
     */
    HouseBillItemMerge selectHouseBillItemMergeByMergeId(Long mergeId);

    /**
     * 查询入住账单收费项目列表
     *
     * @param houseBillItemMerge 入住账单收费项目
     * @return 入住账单收费项目集合
     */
    List<HouseBillItemMerge> selectHouseBillItemMergeList(HouseBillItemMerge houseBillItemMerge);

    /**
     * 新增入住账单收费项目
     *
     * @param houseBillItemMerge 入住账单收费项目
     * @return 结果
     */
    int insertHouseBillItemMerge(HouseBillItemMerge houseBillItemMerge);

    /**
     * 修改入住账单收费项目
     *
     * @param houseBillItemMerge 入住账单收费项目
     * @return 结果
     */
    int updateHouseBillItemMerge(HouseBillItemMerge houseBillItemMerge);

    /**
     * 批量删除入住账单收费项目
     *
     * @param mergeIds 需要删除的入住账单收费项目主键集合
     * @return 结果
     */
     int deleteHouseBillItemMergeByMergeIds(Long[] mergeIds);

    /**
     * 删除入住账单收费项目信息
     *
     * @param mergeId 入住账单收费项目主键
     * @return 结果
     */
     int deleteHouseBillItemMergeByMergeId(Long mergeId);


    /**
     * 批量插入入住账单收费项目
     * @param houseBillItemMerges
     * @return
     */
    int batchInsertHouseBillItemMerges(List<HouseBillItemMerge> houseBillItemMerges);

    List<HouseBillItemMerge> selectHouseBillItemMergeByBillId(String billId);

    int batchUpdateHouseBillItemMerges(List<HouseBillItemMerge> collect);

    List<HouseBillItemMerge> selectHouseBillItemMergeByBillIds(List<String> billIds);
}
